草庐IT

Java Parallel Streams 关闭线程

全部标签

c++ - 关闭控制台时如何使 C++ 执行函数

我想要一个C++程序在我手动关闭控制台时执行一个函数。我制作了一个C++程序来测试密码,如果密码不正确,则让Windows注销。但是,如果我从“X”按钮关闭控制台,什么也不会发生,如果控制台从“X”按钮关闭,我想让窗口也注销?我尝试了_onexit_toe()函数,但它对我没有帮助。那么有一种方法可以做到这一点或隐藏包含“最小化”、“最大化”和“关闭”按钮的栏吗? 最佳答案 假设您指的是普通的文本控制台窗口,您可以通过SetConsoleCtrlHandler注册您自己的事件处理程序并监视事件CTRL_C_EVENT、CTRL_BR

c++ - 如何使用 C++ 在 Windows 中创建守护线程?

我正在尝试使用nativeAPI在C++中为Windows创建一个守护线程,但我似乎找不到任何对守护线程的引用。有没有人有与此相关的文档的链接,或者在Windows上是否有不同的术语?如何在C++中的Windows上创建守护线程? 最佳答案 在Windows中,当进程准备好退出时,您的主线程应该调用ExitProcess或从main()函数返回。如果有其他不应终止的线程正在运行,您有责任跟踪这一点,并且在这些线程完成之前不要退出主函数。实际上,这意味着所有线程都是“守护线程”。(原则上,没有线程是守护线程;如果您显式终止主线程,则该

c# - 关闭后保留对话框中的值 - Windows 窗体 C#

我对C#和Windows窗体还比较陌生,所以请问这个看起来很简单的问题。我有一个Windows应用程序,它有一个对话框,打开时包含带有一些默认值的文本框。这些可以根据用户想要使用的内容进行更改。此对话框中的值与主窗体上的内容一起用于创建XML文件。我遇到的问题是,如果我再次打开对话框以更改同一session中的任何值,原始值在那里,而不是任何新值。我如何让它保留在该特定session中已更改的值? 最佳答案 如果您想在下次打开对话框时看到用户的值,您需要将这些值保存在某个地方,然后在下次显示对话框时重新加载它们(通常在Form_Lo

linux - 为什么关闭死掉的tcp-socket会影响另一个打开的tcp套接字?

我们面临一个奇怪的问题,即关闭死掉的tcp套接字(由拔掉电线引起)会影响另一个正常打开的tcp套接字。以下是详细信息:拓扑客户端A←→交换机A←路由器A:NAT←..网络..→路由器B:NAT→交换机B←→服务器B问题:假设客户端和服务器之间存在断开连接,这是由于拔出了电线造成的。拔掉电缆(在机器和交换机之间)后,我们从另一台机器登录客户端A,现在客户端和服务器之间将建立新的tcp连接,并且该连接正常。我们发现,如果在tcp内核仍在重新传输数据的同时关闭服务器的tcp连接,则另一个tcp连接似乎已被污染,并且从客户端到服务器的方向将变得不可用,这意味着通过通过连接的客户端永远不会被服务

c++ - MFC GUI 应用程序重写 - 线程、消息传递、文档/ View 等。需要建议

我正在重写一个有很多问题的MFC应用程序。主要问题是不稳定。它是一个GUI应用程序,通过USB与外部模块通信。因此,它通过使用计时器每n毫秒运行一次通信堆栈。然而,系统调用不允许在计时器回调中使用,因此程序不稳定,因此经常崩溃和挂起。所以我必须重写应用程序以在后台线程中运行通信堆栈。这里的另一个问题是数据没有完全与表示分离,如果我使用另一个线程,我必须确保我保护共享资源。所以,主要是通信栈会通知应用程序有新的数据。这应该由工作线程处理。它运行通信堆栈,处理新消息,然后在更新数据结构时锁定数据结构,然后回复模块。然后它向主线程发送一strip有PostMessage的消息以更新GUI。但

C# - 关闭子进程的输入流

我的C#程序需要通过其标准输入将数据发送到第3方程序。然而,程序在处理之前等待输入流到达EOF。这是我的代码://Startstheprocess.varprocess=newProcess();process.StartInfo.CreateNoWindow=true;process.StartInfo.UseShellExecute=false;process.StartInfo.RedirectStandardInput=true;process.StartInfo.RedirectStandardOutput=true;process.StartInfo.FileName="f

windows - 如何防止臭名昭著的 GbPlugin 关闭我的应用程序?

在某些客户中,我的应用程序被一个名为“GBPlugin”的奇怪插件关闭;它由一些巴西银行网站安装,以“保护”客户免受诈骗。但事实上,该插件所做的是使用它自己从未明确的判断来强制关闭看似“可疑”的应用程序。我有一个显示确认对话框的OnCloseQuery方法,但插件会绕过它并在应用程序打开后立即强制关闭它。并非所有客户都会遇到此问题,在某些情况下,插件让我的应用程序正常运行,而在其他情况下,它会在没有警告的情况下关闭应用程序。我的EXE文件被加密以便难以破解,我发现这是用来判断应用是否可疑的因素之一。我已经尝试通过在我的应用程序激活时关闭插件进程来进行反击,但是一旦它关闭,另一个实例就会

c++ - 如果在 Intel CPU 上关闭 "SpeedStep Technology",RDTSC() 是否准确?

寻找最准确的时间戳。看来CPU周期计数器可以提供:使用unsigned__int64__rdtsc();如果我能够关闭动态CPU速度选项,Intel芯片上的“SpeedStepTechnology”(我假设来自BIOS?):rdtsc()能否准确衡量两个事件之间耗时?事件?CPU时钟速度是多少?真的是广告上说的吗CPU速度(即2.4GHzCPU-使用每秒2,400,000,000分频CPU时钟计数值来获取实际时间)? 最佳答案 Willrdtsc()beanaccuratemeasureofelapsedtimebetweentwo

windows - 批处理文件 - 关闭由批处理文件进程打开的单独的 cmd 窗口

我正在整理一个执行以下操作的批处理文件:启动Selenium测试中心启动Selenium测试节点运行Selenium测试脚本打开测试结果xml文档。关闭Selenium中心和节点Selenium中心和节点是通过使用START命令调用2个批处理文件打开的,因此它们在自己的cmd窗口中打开。直到第5点,我的流程都很好,关闭了包含集线器和节点的两个cmd窗口。我知道您可以关闭所有“cmd.exe”进程,但这似乎是一种钝器。有没有一种方法可以识别或保留我的批处理脚本打开的集线器和节点cmd窗口的句柄,以便我可以只关闭这两个窗口?谢谢。 最佳答案

windows - 线程命令在 WInDbg 中不起作用

尝试在WinDbg中执行基于线程的命令。安装程序是具有XP的VMWare,主机是Win7。基于this,试图调试应用程序挂起。但是无法从中获取任何信息。对于简单的tilda(~)它给出了语法错误。我需要做一些不同的设置才能执行这些命令吗?无论如何,这些“特殊”吗?因为我可以使用其他命令。基本上我希望WinDbg让我监控线程的状态?例如等待响应、发送请求或类似的事情。 最佳答案 ~仅为用户模式调试更改线程上下文。对于krnelmkode调试,请参阅帮助:。线。过程!线!过程 关于windo